3
תגובות
יש לי בעיה שחוזרת על עצמה כל הזמן, כבר העליתי אותה פה בעבר ולא נמצא פתרון. חייבת להיות איזושהי דרך לטפל בה.
הבעיה היא אבטחה. לא פעם אני נתקל בסירוב של השרת לאפשר לי לבצע עדכון מסויים בDB. למשל בעבר דיברתי על כך שהשרת לא אפשר לי לעדכן קישורים בDB, עכשיו הבעיה היא שהשרת לא נותן לי לעדכן TEXTAREA שיש בו אך ורק מילים. אז למה זה לא עובד!!!!!
הקוד הנ"ל, הוא הדף שאליו נשלח המידע מהטופס:
אני מתחנן לעזרה...
הבעיה היא אבטחה. לא פעם אני נתקל בסירוב של השרת לאפשר לי לבצע עדכון מסויים בDB. למשל בעבר דיברתי על כך שהשרת לא אפשר לי לעדכן קישורים בDB, עכשיו הבעיה היא שהשרת לא נותן לי לעדכן TEXTAREA שיש בו אך ורק מילים. אז למה זה לא עובד!!!!!
הקוד הנ"ל, הוא הדף שאליו נשלח המידע מהטופס:
<?php
include "../../../connect_to_db.php";
$msg_place = $_POST['msg_place'];
$msg_place = trim(mysql_real_escape_string($msg_place));
$massage = $_POST['massage'];
$massage = trim(mysql_real_escape_string($massage));
$table = $_POST['table'];
$table = trim(mysql_real_escape_string($table));
$collom = $_POST['collom'];
$collom = trim(mysql_real_escape_string($collom));
$id = $_POST['id'];
$id = trim(mysql_real_escape_string($id));
function update_top_massage_area($massage,$msg_place,$table,$collom,$id){
$query=("UPDATE $table SET $msg_place='$massage' WHERE $collom='$id'");
mysql_query("SET NAMES 'utf8'");
$result=mysql_query($query);
if(!$result)
return false;
else
return true;
}
$update_result = update_top_massage_area($massage,$msg_place,$table,$collom,$id);
if($update_result == true)
$_SESSION['update_'.$msg_place] = 'OK';
header('Location:'.$last_page);
?>
include "../../../connect_to_db.php";
$msg_place = $_POST['msg_place'];
$msg_place = trim(mysql_real_escape_string($msg_place));
$massage = $_POST['massage'];
$massage = trim(mysql_real_escape_string($massage));
$table = $_POST['table'];
$table = trim(mysql_real_escape_string($table));
$collom = $_POST['collom'];
$collom = trim(mysql_real_escape_string($collom));
$id = $_POST['id'];
$id = trim(mysql_real_escape_string($id));
function update_top_massage_area($massage,$msg_place,$table,$collom,$id){
$query=("UPDATE $table SET $msg_place='$massage' WHERE $collom='$id'");
mysql_query("SET NAMES 'utf8'");
$result=mysql_query($query);
if(!$result)
return false;
else
return true;
}
$update_result = update_top_massage_area($massage,$msg_place,$table,$collom,$id);
if($update_result == true)
$_SESSION['update_'.$msg_place] = 'OK';
header('Location:'.$last_page);
?>
אני מתחנן לעזרה...
3 תשובות
אני יגיד לך דבר אחד שקרה לי , בשרת אחד הפונקציה mysql_real_escape_string פשוט גרמה לטקסט להיות NULL.
והצעה קטנה לשיפור במקום לצור משתמש לכל קלט פשוט תציב את התוצאה באותו קלט לדוגמה:
$_POST['table'] = trim(mysql_real_escape_string($table));
ככה הביצוע היה יותר מהיר.
יש התקדמות בנושא, לא הבנתי איך אבל נגיד(בעקבות שיפור הקוד לפי העצה של pol292).
עכשיו כן אפשר לעשות עדכון אבל אי אפשר להעתיק מידע לתוך הTEXTAREA (כמובן שבעורך תוכן כלשהו).
יש רעיונות?